专利摘要:
電池の寿命を延長するための、資源を利用するスケジュールの合体。スケジュールのそれぞれは、定義された許容範囲内にある再発性アクティブ化時刻に実行するように定義される。イベント通知を受信した後、スケジュールがアクセスされ、それらのアクティブ化時刻及び許容値に基づいて、早期に実行され得るスケジュールを識別する。識別されたスケジュールは、実行するために統合される。
公开号:JP2011515778A
申请号:JP2011501866
申请日:2009-02-25
公开日:2011-05-19
发明作者:ギルロイ,クリストファー・トッド;サペク,アダム;ティーガン,ヒュー;トラン,アン・ピー;ハッタンガディー,プーナム・ガネシュ;ベントレイ,キース・シー;ミラー,ジョン・マーク;ムーア,ロイド・アルフレッド
申请人:マイクロソフト コーポレーション;
IPC主号:G06F1-32
专利说明:

[0001] 本発明は、携帯装置の電力節約に関し、具体的には、計算機が消費する資源のスケジュール管理に関する。]
背景技術

[0002] [0001]携帯電話及び携帯情報端末(PDA)などの携帯計算装置が、最近、ますます普及している。装置がより小型化し続けるにつれて、メモリー、記憶装置、帯域幅、及び電池のような資源において制限が増大している。更に、より多くのアプリケーションが現在、そのような資源の水準を増やすことを要求している。例えば、アプリケーションの多くは、接続を持続するための頻繁な無線通信利用を必要とする、サーバーとの同期及びコンテンツのリアルタイム更新のような再発性タスクを実行する。無線通信がデータを送信するために電源投入後、無線通信は、電源を切るために数秒(例えば、2.5Gネットワーク上で約3秒、そして3Gネットワーク上で約20秒)かかる。この無線通信の「後部(テール)」が電力を消費し、装置の電池の寿命を低下させる。]
発明が解決しようとする課題

[0003] 本発明の目的は、電池の寿命を延長するために、計算機が消費する資源の利用のスケジュールを統合化する方法及びシステムを提供することである。]
課題を解決するための手段

[0004] [0002]本発明の実施形態は、機に従って制約ある資源などの資源を活用するために、再発性スケジュールのアクティブ化時刻を調整する。各スケジュールは、再発性アクティブ化時刻にアクティブ化するように定義されているが、許容係数の範囲内で早期に実行され得る。資源の利用可能性のようなイベント通知が受信された後、スケジュールは、受信した通知、アクティブ化時刻、及び許容係数に基づいて識別される。例えば、スケジュールの中には、利用可能な資源を使用するための許容係数に基づいて、早期にアクティブ化するように識別されるものもある。識別されたスケジュールは、統合され、アクティブ化される。]
[0005] [0003]この「課題を解決するための手段」は、以下「発明を実施するための形態」に更に記載する概念のいくつかを簡易化した形式で紹介するために提供されている。この「課題を解決するための手段」は、請求対象項目の重要な機能又は本質的な特徴を特定するように意図されておらず、請求対象項目の範囲を決定する際の支援として使用されるようにも意図されていない。]
図面の簡単な説明

[0006] [0004]スケジューラーサービスの動作を示す例示的な流れ図である。
[0005]計算装置上で実行するスケジューラーサービスを示す例示的なブロック図である。
[0006]デバイス管理サーバーによって携帯計算装置の制御を示す例示的なブロック図である。
[0007]スケジュールを表すデータ構造を示す例示的なブロック図である。]
[0007] [0008]対応する参照文字は、図面を通して対応している部分を示す。]
[0008] [0009]図面を参照すると、本発明の実施形態が、再発性スケジュール(208)のアクティブ化を制御する計算装置(204)上で実行するスケジューラーサービス(202)を提供している。スケジュール(208)は、ユーザー又はアプリケーションプログラム#1からアプリケーションプログラム#Mのような1つ以上のアプリケーションプログラム(207)によって、定期的に発生するように定義される。]
[0009] [0010]スケジュール(208)のアクティブ化は、所定の許容範囲内で定義されたアクティブ化時刻(410)に、スケジュール(208)に関連付けられている1つ以上の動作(406)を実行又は達成することを含む。スケジューラーサービス(202)の例示的な動作が、図1に示されている。(102)において、イベント通知が受信される。例えば、通知は、制約ある資源が利用可能であることを示している。(104)において、複数のスケジュール(208)がアクセスされる。複数のスケジュール(208)のそれぞれは、その他(例えばスケジュール満了、スケジュール(208)が制約ある資源の使用を必要とするか否かなど、スケジュールの最大実行数などに対するルール)のプロパティの間に定義されたアクティブ化時刻(410)及び許容係数(412)を有する。許容係数(412)は、通常、制約ある資源が利用可能になったとき、早期に実行するためのスケジュール(208)の許容度を示している。許容係数(412)は、所定のアクティブ化時刻(410)と異なる時刻に実行すべきスケジュールの利用可能性を示すための任意の手段を含む。例えば、許容係数(412)は、(例えば分又は秒の)定数値、割合(間隔期間(408)の例えば10%のような割合)、及び資源利用可能性の間の周期的な平均の分単位数を含むがこれらに限定しない。] 図1
[0010] [0011](106)において、アクセスされたスケジュールのうち1つ以上が、イベント通知、現在時刻、アクセスされたスケジュールのそれぞれに関し定義されたアクティブ化時刻(410)、許容係数(412)、に応じて識別される。例えば、スケジューラーサービス(202)は、イベントが、スケジュール(208)のアクティブ化に対し定義されている条件対象のスケジュール(208)を識別するか、又はさもなければイベントが適用するスケジュール(208)を識別する。スケジューラーサービス(202)は更に、識別されたスケジュールからスケジュールのそれぞれに対する許容係数(412)に基づいて早期にアクティブ化され得るスケジュールを選択する。例えば、スケジューラーサービス(202)は、現在時刻とスケジュール(208)のそれぞれに対し、定義されたアクティブ化時刻(410)との間の差を計算し、スケジュール(208)に対する許容係数(412)と計算されたその差とを比較する。アクティブ化するために許容範囲内にあるすべての差に対し対応するスケジュールが選択される。]
[0011] [0012]エレメント(106)の例において、制約ある資源を必要とするスケジュール(208)は、通知が、生成又は受信された時刻に実行すべき適格性に関して評価される。実施形態の中には、スケジュールされた時刻と、早期実行するための許容値を下回るスケジュール時刻と、の間に現在時刻が収まるか否かに基づいて適格性が決定されるものもある。]
[0012] [0013](108)において、識別されたスケジュールがアクティブ化される。識別されたスケジュールのアクティブ化は、スケジュールに関連付けられている動作(406)のうち1つ以上を実行することを含む。動作(406)は、例えば、ソフトウェアのインストール、構成の設定、及び/又は更新のようなソフトウェアコンフィギュレーション動作を含む。動作は、計算装置(204)上の実行可能ファイル又はライブラリーをアクセスすることも含み得る。動作は、その後、既に発生した任意の動作の結果である計算装置(204)上の同期イベントの修正も含み得る。]
[0013] [0014]携帯計算装置(302)に関して、最も制約ある資源の1つは電池であって、セルラー方式の無線通利用が、携帯計算装置(302)上の最も大きな電力を消耗する活動である。]
[0014] [0015]スケジューラーサービス(202)がモバイル計算装置(302)上で実行又はさもなければ制御している実施形態において、スケジューラーサービス(20)の動作が、利用可能な資源の利用を最適化し、再発性スケジュール(208)を合体、結合、又はさもなければ統合することによって、電池の寿命を延長する。再発性スケジュール(208)は、イベントに基づいて選択される。イベントは、特定の時刻などの任意の条件又は装置の条件を含む。例えば、イベントが(例えば、ネットワーク又はネットワークタイプの)資源が利用可能なことを示している場合、スケジュール(208)を識別することは、資源を利用するスケジュール(208)を識別することを含む。別の例において、セルラー方式の無線通信を要求するスケジュール(208)は、それが別のタスクに対して既に起動されている間も許容係数(412)に基づいて無線通信を利用するために早期にアクティブ化するために識別される。付録Aは、本発明の実施形態の範囲内にある更なる例示的スケジュール(208)を掲載している。]
[0015] [0016]スケジューラーサービス(202)が作動し、スケジュールそれぞれのアクティブ化時刻(410)を許容範囲内で変更することによって、資源が利用可能である間、資源を活用し、付帯的コスト(オーバーヘッド)を最小にすることによって、電池の寿命を延長する。例えば、非同期セルラー、無線フェデリティ(ワイファイ)、又はその他の(例えば、サーバーがデバイスデータを送信するか又はユーザーがウェブ閲覧セッション開始する)無線通信送信機のイベント若しくは受信機のイベントが存在するとき、スケジューラーサービス(202)は、データベース(210)をスキャンし、無線通信を便乗利用(ビギーバック)し得るスケジュールか又は活用し得るスケジュールか決定する。このようにして、スケジュールの統合が、無線通信頻度の上昇(スピンアップ)を最小化する。別の実施形態において、スケジューラーサービス(202)が作動し、装置をアイドル状態から起動する頻度を最小にする。別の例において、スケジューラーサービス(202)が作動し、携帯計算装置(302)のコンポーネントである、バックライト、プロセッサー、音声増幅器、全地球測位システム、デジタルメモリーコマンド、(例えば、ブルートゥースブランドのネットワーク用)短距離無線ネットワークアダプター、補助プロセッサー、振動モーター、リンガー、カメラ、加速度計、及びアンビエントライトセンサーのような電力を消費する資源を節約する。]
[0016] [0017]代替又は追加として、スケジュールを個別に実行する間、資源が大きな消費状態に分類されないことをスケジューラーサービス(202)が決定した場合、スケジューラーサービス(202)は、スケジュールを個別に実行する。]
[0017] [0018]いくつかの実施形態において、携帯計算装置(302)を参照し説明しているが、本発明の態様は、別の装置に適用可能である。更に、いくつかの実施形態において、スケジューラーサービス(202)を参照し説明しているが、本発明の態様は、本明細書に例示され、記載された機能性を実行する任意のコンポーネントに適用可能である。]
[0018] [0019]スケジュールA、B、及びCすべてがネットワーク接続を必要とする例において、スケジュールB及びCは、許容係数(412)に基づいてバッチ処理されるか又はスケジュールAと統合され得る。スケジュールAの実行が無線通信イベントをスピンアップした場合、そのイベントが発行され、その後、スケジュールB及びCが実行され、無線通信イベントを活用する。スケジュールAがネットワークを全く必要としないことが判明した場合、スケジュールB及びCは、それらの元のスケジュール時刻に実行する。]
[0019] [0020]スケジュール実行後、(110)において、スケジューラーサービス(202)は、スケジュールのそれぞれに対する次のアクティブ化時刻を定義する。スケジュール(208)のそれぞれは、スケジュール(208)のそれぞれの再発性アクティブ化間の時刻に対応する間隔期間(408)を有する。間隔期間(408)は、スケジュールの生成時、アプリケーションプログラム(207)又はユーザーによって、設定される。実施形態において、スケジュールのそれぞれに対する次のアクティブ化時刻は、最新のアクティブ化時刻に間隔期間(408)を追加することによって決定される。そうすると、スケジュール実行の間の実際の時刻は、間隔期間(408)よりも短いが、間隔期間(408)よりも決して長くならない。]
[0020] [0021]代替として、スケジュールのそれぞれに対する次のアクティブ化時刻は、定義されている元のアクティブ化時刻に基づいて設定される。そうすると、スケジュール実行の間の実際の期間は、間隔期間(408)よりも短いか又は長いかどちらか一方であり得るが、長期間の平均隔期間は、指定された間隔に収束する。実施形態において、アプリケーションプログラム(207)又はスケジュール(208)の作成ユーザーは、使用されるべき次のアクティブ化時刻の設定方法を決定する。]
[0021] [0022]実施形態の中には、多くのアプリケーションプログラム(207)が、小さなデータパケットをサーバーに定期的に送信し、接続をオープンに維持するためのスケジュール(208)を有するものもある。オープンコネクションは、サーバーが携帯計算装置(302)にデータをリアルタイムにプッシュ型配信可能にする。スケジューラーサービス(202)は、アプリケーションプログラム(207)が、アプリケーションプログラミングインターフェース(API)の呼び出しを許可し、スケジュール(208)の実行をシミュレートする。その結果、スケジュールされる次の時刻が、シミュレートした実行に基づいて計算される。そのような例において、再発性スケジュール(208)は「ハートビート」として知られていて、ネットワークのタイムアウト下において計算装置(204)とサーバーとの間にデータが送信されることを確実にする。例えば、ネットワークのタイムアウトが15分の場合、コネクションは、いくつかのデータが装置とサーバーとの間を15分毎に交換されるように要求するか又はコネクションがクローズする。すなわち、装置(204)は、小さなデータパケットのいくつかを15分毎にサーバーへ送信する必要がある。しかしながら、サーバーが、デバイスデータを(例えば8分基準で)送信した場合、アプリケーションプログラム(207)は、8分基準でAPIコールを呼び出す。スケジュールに対する次のアクティブ化時刻は、15分基準の代わりに(例えば8+15)23分基準であるように計算される。]
[0022] [0023]付録Bは、スケジューラーサービス(202)に関する例示的プロパティ及び状態一覧を含む。]
[0023] [0024]図2を参照すると、例示的ブロック図が、計算装置(204)上で実行するスケジューラーサービス(202)を示している。計算装置(204)は、例えば、携帯情報端末(PDA)又は携帯電話のような携帯機器を含む。プロセッサー(206)は、スケジュール(208)のそれぞれに対するアクティブ化時刻(410)、許容係数(412)、及び間隔期間(408)をユーザーから受信するための計算機実行可能命令、計算装置(204)上で実行するアプリケーションプログラム(207)、計算装置(204)、又は別のソースからリモート実行するアプリケーションプログラム(207)、を実行するように構成されている。受信されたスケジュールデータは、データベース(210)又はその他の記憶領域にストアされている。付録Cは、スケジュール(208)を定義する際に含まれる例示的プロパティ及び定義を掲載している。] 図2
[0024] [0025]間隔期間(408)は、スケジュール(208)の実行又はアクティブ化の間の時間期間を決定する。次に続く間隔期間は、同一であり得るか、又は線形、指数関数などに関係付けられ得る。例えば、スケジュール(208)の中には、次第に増加するアクティブ化間の間隔を有するものもある。実施形態において、アプリケーションプログラム(207)又はユーザーは、初期間隔値、(例えば直線又は指数)進行タイプ、及び最大間隔値、のうち1つ以上を指定する。スケジュールが実行するとき、間隔は、初期値から開始し、その後、それぞれの実行後、適切に増加する。間隔の最大値が指定されている場合、持続期間(408)は、決して最大の間隔値を超えて増えずに最大値に留まる。]
[0025] [0026]1つ以上の計算機可読媒体は、スケジューラーサービス(202)の実施形態を実装するための計算機実行可能なコンポーネントを有する。例えば、コンポーネントは、記憶領域(212)上にストアされていて、インターフェースコンポーネント(214)、条件コンポーネント(216)、統合コンポーネント(218)、節約コンポーネント(220)、スロットルコンポーネント(222)、及びルールコンポーネント(223)を含む。インターフェースコンポーネント(214)が、イベント通知(例えば、計算装置(204)上の電力を消費する資源の利用可能性に関する通知)を受信する。例えば、イベントは、相対時間の間隔(例えば起動5分後)又は絶対時刻(例えば午前12:00:00)の発生などの時間イベントである。イベントは、最初のネットワーク接続性喪失後のワイファイ接続起動、又はセルラー型接続のような所定の接続タイプの検出、及び/又はネットワーク接続の回復のような状態イベント、又は計算装置(204)の別の状態でもあり得る。更に、イベント通知は、通知ブローカー(224)、又はその他の任意のイベントシステム、通知システム、又は状態システムから受信される。図2の通知ブローカー(224)が計算装置(204)上で実行するように示されているが、通知ブローカー(224)は、追加又は代替として(例えば、ネットワークを介し計算装置(204)と通信する)別の計算装置上で実行する。] 図2
[0026] [0027]例において、セルラー型無線通信が携帯計算装置(302)上のデータ送信中の通知を受信するためのインターフェースコンポーネント(214)に関するいくつかの方法が存在する。一方法は、無線通信が、データ送信している情報を無線通信の上位ソフトウェアレイヤに知らせる無線通信製品を含む。別の方法は、送信又は受信されるデータに対するインターネットプロトコル(IP)スタックを監視することである。データが送信又は受信されたとき、時刻が記録され、イベントの状態が(例えば「真」に)設定される。定義された期間(例えば10秒)後、別のデータが送信されていない場合、イベントの状態が(例えば「偽」に)変更される。スケジューラーサービス(202)は、無線通信がデータを送信していることを示すこの例において、「偽」から「真」に達するイベントの状態を検出したとき、スケジュール(208)を合体する。]
[0027] [0028]インターフェースコンポーネント(214)によって受信されたイベント情報に基づいて、条件コンポーネント(216)が、データベース(210)にストアされているスケジュール(208)のうち少なくとも1つを識別する。受信されたイベントが資源の利用可能性を示す例において、条件コンポーネント(216)は、実行中、資源を消費するスケジュール(208)を識別する。統合コンポーネント(218)が、スケジュールに対するアクティブ化時刻(410)及び許容係数(412)に基づいて、条件コンポーネント(216)によって識別されるスケジュールのうち1つ以上を実行するために選択する。例えば、統合コンポーネント(218)は、次のアクティブ化時刻とインターフェースコンポーネント(214)による受信された通知時刻との差が、スケジュールに対する許容係数(412)範囲内にある対象スケジュールを選択する。実施形態において、通知受信の時刻が、現在時刻に相当する。節約コンポーネント(220)は、統合コンポーネント(218)によって選択されたスケジュールを実行する。例えば、節約コンポーネント(220)は、統合されたスケジュールのそれぞれに関連付けられている動作(406)を実行する。例として、統合コンポーネント(218)によって選択されるスケジュールの評価基準は、以下の論理式で示される。(現在時刻>=(NEXT_RUN_TIME−RUN_EARLY_TIME))かつ(現在時刻<END_TIME)。これらの評価基準を満たすスケジュールすべてが、統合コンポーネント(218)によって選択される。]
[0028] [0029]スロットルコンポーネント(222)が、所定のスロットル限界値に応じて節約コンポーネント(220)によって実行されるスケジュールの数を制限する。実施形態において、スロットル限界は、計算装置(204)上の資源の消費状態に応じて定義されている。例えば、節約コンポーネント(220)が統合コンポーネント(218)によって選択されたスケジュールを実行する前に、節約コンポーネント(220)が、スロットルコンポーネント(222)を介しスロットル限界閾値が達しているか否か決定する。例えば、一時的な近接近で起動される数多くのスケジュール又は動作は、結果として深刻な資源の窮乏をまねく。この状況を軽減するために、スロットルコンポーネント(222)が、所与の時間窓の間、定義されたスケジュール又は動作(406)の数だけ起動する。スケジュール又は動作が首尾よく起動される度に、カウンターが値を増加させる。カウンター値がスロットル限界に達した場合、更に、スケジュール又は動作の起動は、カウンターが0リセットするか又はさもなければ減少するまで遅れる。例えば、カウンターが、所定の間隔を定期的に実行するスレッドによって、0にリセットする。代替又は追加として、資源を使用するスケジュール又は動作が資源を解放したとき、カウンターが減少する。]
[0029] [0030]ルールコンポーネント(223)が、スケジュール(208)のそれぞれにスケジュール特有の性質を適用する。例えば、ルールコンポーネント(223)は、スケジュールされる次の時刻(例えば、最大又は平均)がどのように計算されるか、スケジュール(208)をいつ開始するか、スケジュール(208)をいつ終了するか、スケジュール(208)を何回繰り返すか、及びどのエンティティがスケジュール(208)を変更し得るか決定する。]
[0030] [0031]スケジュール(208)の中には、計算装置(204)の起動時だけ実行するように定義されるものもある。これらのスケジュールが共通の資源(例えば無線通信)を共有している場合、スケジューラーサービス(202)は、資源の利用可能性を活用するために、これらのスケジュールのアクティブ化を共通のアクティブ化時刻に整列する。]
[0031] [0032]同様に、スケジューラーサービス(202)は、同様の間隔又は倍数の間隔を有するスケジュールを基本時刻0(例えば人工の0時刻)に整列する。例として、2つのアプリケーションプログラム(207)は、(例えば、早期に実行する1分の許容値に対応している)20%の許容係数(412)を有している5分のハートビート間隔それぞれを有する。第1のアプリケーションは、時刻T0(例えば始動)、T5(例えば始動5分後)、及びT10(例えば始動10分後)にハートビート動作を実行する。第2のアプリケーションが始動し、時刻T2(例えば、第1のアプリケーションの始動2分後)及びT7(例えば始動5分後)にハートビート動作を実行する。アプリケーションに対するハートビート動作間の差は、2分又は3分のどちらか一方であるのでハートビート動作は、スケジューラーサービス(202)によって合体されない。もっと正確に言えば、スケジューラーサービス(202)は、アプリケーション双方に対するハートビート動作が同時に発生するように第2のアプリケーション始動を時刻T5に整列する。]
[0032] [0033]図3を参照すると、例示的ブロック図が、デバイス管理サーバー(304)による携帯計算装置(302)の制御を示している。図2のスケジューラーサービス(202)は、図3において、デバイス管理サーバー(304)又はその他の(例えば、ネットワーク(312)を介し接続されている)計算装置上で実行しているサーバースケジューラーモジュール(310)と通信する、デバイス管理クライアント(308)内部で実行するクライアントスケジューラーモジュール(306)として動作する。そのような実施形態において、サーバースケジューラーモジュール(310)は、スケジュール(208)をアクティブ化し、図2のように統合されたスケジュールのそれぞれに関連付けられている動作(406)の実行を実施するようにクライアントスケジューラーモジュール(306)に命令する。] 図2 図3
[0033] [0034]図4を参照すると、例示的ブロック図が、スケジュール(208)を表すデータ構造を示している。スケジュール(208)は、拡張可能マークアップランゲージ(XML)形式で符号化され得るデータ構造でストアされている。スケジュール(208)のそれぞれは、所定のイベント(404)及び間隔期間(408)、アクティブ化時刻(410)、及び許容係数(412)に従って関連付けられている動作(406)の一覧を含む。所定のイベント(404)は、時間イベント及び状態イベントを含む。関連付けられている動作(406)は、所定のイベント(404)が生じたとき、実行される予定の動作を含む。動作(406)は、例えば、実行可能ファイルの経路及びコマンドラインパラメーター又は指名された同期イベントを指定する。] 図4
[0034] 例示的動作環境
[0035]本明細書に記載されているような計算装置又は計算機は、1つ以上のプロセッサー又は処理ユニット、及びシステムメモリーを有する。計算機は、典型的には、計算機記憶媒体及び通信媒体を含む少なくともいくつかの形式の計算機読込可能媒体を有する。計算機記憶媒体は、計算機可読命令、データ構造、プログラムモジュール、又はその他のデータのような情報記憶に関する任意の方法又は技術で実装された揮発性媒体及び不揮発性媒体、取外し可能媒体及び取外し不可能媒体を含む。通信媒体は、典型的には、搬送波若しくはその他の移送機構のような変調データ信号で計算機可読命令、データ構造、プログラムモジュール、又はその他のデータを具体化する任意の情報送信媒体を含む。]
[0035] [0036]例示的計算システム環境に関連し説明されているが、本発明の実施形態は、別の多くの汎用又は専用計算システム環境若しくは構成を用いて作動する。]
[0036] [0037]本発明の実施形態は、1つ以上の計算機又はその他の装置によって実行されるプログラムモジュールのような一般的な計算機実行可能命令の文脈で説明され得る。本発明の態様は、そのようなあらゆるコンポーネント又はモジュール及び構成を用いて実装され得る。例えば、本発明の態様が、本明細書の図面に例示されていて、記載されている特定の計算機実行可能命令又は特定のコンポーネント若しくはモジュールに限定されない。本発明の別の実施形態が、本明細書に例示されていて、記載されているよりも多いか又は少ない機能性を有する、異なる計算機実行可能命令又はコンポーネントを含み得る。]
[0037] [0038]本明細書に例示され、記載されている実施形態及び本明細書に特に記載されてないが、本発明の態様の範囲内の実施形態は、受信した通知、通知時刻、定義されたアクティブ化時刻、及び複数の再発性スケジュールのそれぞれの許容係数(412)に応じて、再発性スケジュール(208)をアクティブ化するために統合化する例示的手段、再発性スケジュール(208)のアクティブ化を整列する例示的手段、及び複数の再発性スケジュール(208)のうち1つ以上を識別する例示的手段を構成する。]
[0038] [0039]本明細書に例示され、記載されている本発明の実施形態における動作の実行順序又は性能は、別の方法が特定されていない場合、本質的でない。すなわち、動作は、別の方法が特定されていない場合、順不同に実行され得、本発明の実施形態は、本明細書に開示したものよりも追加的動作か又はより少ない動作を含み得る。例えば、別の動作の前、別の動作と同時、又は別の動作の後に、特定の動作の実行又は実施が、本発明の態様の範囲内にあることが想定されている。]
[0039] [0040]本発明の態様又はその実施形態のエレメントを紹介するとき、冠詞「a」、「an」、「前記(the)」、及び「前記(said)」は、1つ以上のエレメントが存在していることを意味するように意図されている。用語「含んでいる」、「含む」、及び「有する」は、包括的であって、掲載されているエレメント以外の追加的なエレメントがあり得ることを意味するように意図されている。]
[0040] [0041]本発明の態様を詳細に説明したけれども、修正及び変形が、添付した請求項に定義されているような本発明の態様の範囲から逸脱せずにあり得ることが明白であろう。様々な変更が、本発明の態様の範囲から逸脱せずに上記の構造、製品、及び方法で実行され得るものとして、上記の説明に含まれていて、添付図面に示されている事項すべてが例示的であって、限定した意味としてではなく解釈されるように意図されている。]
[0041] 付録A
[0042]以下に記載したものは、本発明の実施形態の範囲内のスケジュールサンプルである。]
[0042] [0043]別の例において、アプリケーションは、携帯機器において無線通信を正午に実行して利用するスケジュールを有している。別のアプリケーションは、5分の許容値に従って定義されている午後12時5分のアクティブ化時刻(410)を有するスケジュールを有している。このスケジュールは、無線通信の利用も必要とする。スケジューラーサービスがその後、同時にアクティブ化するために2つのスケジュールを統合し、それによって無線通信を一度だけスピンアップできる。電力を切断するために無線通信に対し必要とされる電力消費を回避することによって、その結果、電池の節約(例えば2倍の代わりに1倍の無線通信電力)となる。この例の変形において、スケジュールの次の実行時刻は、早期に実行した後、間隔期間値を超えないか又は次の実行時刻が再計算されないように再計算される。]
[0043] [0044]別の例において、アプリケーションは、オークションのように、オンラインでデータソースを監視していて、所定の終了時刻を有している。所望のスケジュールの更新レートは、変更可能であって、望ましくは、終了時刻が近づくにつれてより頻繁に更新することである。]
[0044] [0045]別の例において、装置上のアプリケーションは、装置とサーバーとの間の接続をオープンに維持するために、データをx分ごとにサーバーに送信する必要がある。サーバーが、スケジュールされた次の時刻の前にデータを送信した場合、デバイスアプリケーションは、スケジュールされたその時刻にデータを送信する必要はなく、データがサーバーから受信される時刻+xと等しくスケジュールされた次の時刻を再計算する必要があるに過ぎない。]
[0045] 付録B
[0046]以下に記載したものは、本発明の実施形態によるスケジューラーに関する例示的なプロパティ及び状態である。]
[0046] ]
[0047] ]
[0048] ]
[0049] ]
[0050] ]
[0051] 付録C
[0047]以下、表C1に記載したものは、再発性スケジュール定義に含まれる例示的プロパティ及び定義である。]
実施例

[0052] ]
[0053] 202スケジューラーサービス
204計算装置
206プロセッサー
207アプリケーションプログラム
208スケジュール
210データベース
212 記憶領域
214インターフェースコンポーネント
216 条件コンポーネント
218統合コンポーネント
220 節約コンポーネント
222スロットルコンポーネント
223ルールコンポーネント
224通知ブローカー
302携帯計算装置
304デバイス管理サーバー
306クライアントスケジューラーモジュール
308デバイス管理クライアント
310サーバースケジューラーモジュール
312ネットワーク
404 所定のイベント
406 関連付けられている動作
408間隔期間
410アクティブ化時刻
412 許容係数]
权利要求:

請求項1
携帯機器(302)に対する電力を節約するための計算機実行可能コンポーネントを有する1つ以上の計算機可読媒体であって、前記コンポーネントが、前記携帯機器(302)上の電力を消費する資源の利用可能性に関する通知を受信するためのインターフェースコンポーネント(214)と、記憶領域にストアされている、実行中に前記資源を消費する複数のスケジュール(208)を識別するための条件コンポーネント(216)であって、前記複数のスケジュール(208)のそれぞれが、再発性アクティブ化時刻(410)及び許容係数(412)を有するものと、前記再発性アクティブ化時刻(410)と前記インターフェースコンポーネント(214)による前記通知の受信時刻との間の差が、前記許容係数(412)の範囲内にある前記識別された複数のスケジュールのうち1つ以上を選択するための統合コンポーネント(218)と、前記電力を消費する資源を使用するために前記統合コンポーネント(218)によって選択された前記スケジュールを実行する節約コンポーネント(220)と、を含むことを特徴とする計算機可読媒体。
請求項2
更に、前記節約コンポーネントによって実行されるスケジュールの数を所定の制限値に応じて制限するためのスロットルコンポーネントを含む請求項1記載の計算機可読媒体。
請求項3
前記電力を消費する資源が、携帯機器に関連付けられている、無線周波数送信機、バックライト、プロセッサー、音声増幅器、全地球測位システム、デジタルメモリー待機、短距離無線ネットワークアダプター、補助プロセッサー、振動モーター、リンガー、カメラ、加速度計、及びアンビエントライトセンサーのうち1つ以上を含むこと特徴とする請求項1記載の計算機可読媒体。
請求項4
イベント通知を受信するステップと、複数の再発性スケジュール(208)にアクセスするステップであって、前記複数の再発性スケジュール(208)のそれぞれが、定義されたアクティブ化時刻(410)及びそれに関連付けられている許容係数(412)を有するものと、前記受信したイベント通知、現在時刻、前記定義されたアクティブ化時刻(410)、及び前記アクセスされたスケジュールのそれぞれの前記許容係数(412)に応じて前記アクセスされたスケジュールのうち1つ以上を識別するステップと、前記識別されたスケジュールをアクティブ化するステップと、を含む方法。
請求項5
前記識別されたスケジュールをアクティブ化するステップが、前記識別されたスケジュールに関連付けられている1つ以上の動作を実行するステップを含むことを特徴とする請求項4記載の方法。
請求項6
前記複数のスケジュールのそれぞれが、アクティブ化時刻の間の間隔期間を有していて、更に、前記スケジュールに関する前記間隔期間に基づいて、前記アクティブ化されるスケジュールのそれぞれに対して次のアクティブ化時刻を定義するステップを含むことを特徴とする請求項4記載の方法。
請求項7
前記次のアクティブ化時刻を定義するステップが、前記スケジュールのそれぞれに対する前記次のアクティブ化時刻を定義するために、前記スケジュールのそれぞれに対する前記間隔期間を前記現在時刻に追加するステップを含むことを特徴とする請求項6記載の方法。
請求項8
前記現在時刻と定義された前記次のアクティブ化時刻との間の差が、前記間隔期間よりも小さいことを特徴とする請求項6記載の方法。
請求項9
前記アクセスされたスケジュールのうち1つ以上を識別するステップが、前記現在時刻と前記スケジュールのそれぞれに対し定義された前記アクティブ化時刻との間の差を計算するステップと、前記計算された差を前記スケジュールに対する前記許容係数と比較するステップと、前記比較に基づいて前記スケジュールのうち1つ以上を識別するステップと、を含むことを特徴とする請求項4記載の方法。
請求項10
前記イベント通知を受信するステップが、資源が利用可能であることの通知を受信するステップを含み、前記アクセスされたスケジュールのうち1つ以上を識別するステップが、前記利用可能な資源を使用する前記スケジュールのうち1つ以上を識別するステップを含むこと、を特徴とする請求項4記載の方法。
請求項11
前記受信ステップ、前記アクセスステップ、前記識別ステップ、及び前記アクティブ化するステップが、携帯機器によって実行されることを特徴とする請求項4記載の方法。
請求項12
前記複数のスケジュールのそれぞれが、それに関連付けられている少なくとも1つ動作を有していて、前記受信ステップ、前記アクセスステップ、前記識別ステップ、及び前記アクティブ化ステップが、計算装置によって実行されることと、前記識別されたスケジュールをアクティブ化するステップが、前記識別されたスケジュールのそれぞれに関連付けられている動作を実行するように携帯機器に命令するステップを含むこと、を特徴とする請求項4記載の方法。
請求項13
更に、スロットル限界を定義するステップを含んでいて、前記識別されたスケジュールをアクティブ化するステップが、前記定義されたスロットル限界よりも小さい数の前記識別されたスケジュールをアクティブ化するステップを含むことを特徴とする請求項4記載の方法。
請求項14
前記識別されたスケジュールが、携帯機器上でアクティブ化することと、前記スロットル限界を定義するステップが、前記携帯機器上の資源の消費状態に応じて前記スロットル限界を定義するステップを含むこと、を特徴とする請求項13記載の方法。
請求項15
複数の再発性スケジュール(208)をストアするための記憶領域であって、前記複数の再発性スケジュール(208)のそれぞれが、定義されたアクティブ化時刻(410)、許容係数(412)、及びアクティブ化時刻間の間隔期間(408)を有するものと、プロセッサー(206)であって、前記再発性スケジュール(208)のそれぞれに対し定義された前記アクティブ化時刻(410)、許容係数(412)、及び間隔期間(408)を受信するステップと、前記受信されたアクティブ化時刻(410)、許容係数(412)、及び間隔期間(408)を前記記憶領域にストアするステップと、イベント通知を通知時刻に受信するステップと、前記受信された通知を適用する対象であって、かつ、前記定義されたアクティブ化時刻(410)と前記通知時刻との間の差が前記許容係数(412)の範囲内にある、前記再発性スケジュール(208)のうち1つ以上を識別するステップと、前記識別されたスケジュールをアクティブ化するために統合するステップと、前記統合されたスケジュールのそれぞれに関連付けられている1つ以上の動作(406)を実行するステップと、に関する計算機実行可能命令を実行するように構成されているものと、を含むシステム。
請求項16
前記イベントが、携帯機器の起動を含んでいて、前記プロセッサーが更に、前記識別されたスケジュールのアクティブ化を共通のアクティブ化時刻に整列するように構成されていることを特徴とする請求項15記載のシステム。
請求項17
前記記憶領域及び前記プロセッサーが、携帯機器に関連付けられていることを特徴とする請求項15記載のシステム。
請求項18
前記記憶領域及び前記プロセッサーが、デバイス管理サーバーに関連付けられていて、前記プロセッサーが、前記統合されたスケジュールのそれぞれに関連付けられている動作の実行を実施するように携帯機器に命令することによって、前記1つ以上の動作を実行するように構成されていること、を特徴とする請求項15記載のシステム。
請求項19
更に、前記受信した通知、前記通知時刻、前記定義されたアクティブ化時刻、及び前記複数のスケジュールのそれぞれの前記許容係数に応じて前記複数の再発性スケジュールのうち1つ以上を識別する手段と、前記識別されたスケジュールをアクティブ化するために統合する手段と、を含む請求項15記載のシステム。
請求項20
更に、前記再発性スケジュールのアクティブ化を整列するための手段を含む請求項15記載のシステム。
类似技术:
公开号 | 公开日 | 专利标题
US10165466B2|2018-12-25|Mobile application traffic optimization
Orsini et al.2015|Computing at the mobile edge: Designing elastic android applications for computation offloading
Xia et al.2014|Phone2Cloud: Exploiting computation offloading for energy saving on smartphones in mobile cloud computing
US20190327683A1|2019-10-24|Optimizing mobile network traffic coordination across multiple applications running on a mobile device
JP6001023B2|2016-10-05|Battery power management for mobile devices
Vallina-Rodriguez et al.2011|ErdOS: achieving energy savings in mobile OS
KR101680796B1|2016-11-29|사용자 활동에 기초한 모바일 디바이스의 동적 조정
TWI559229B|2016-11-21|用於背景工作管理的方法、行動計算裝置及可讀取媒體
US20190317800A1|2019-10-17|Initiating Background Updates Based on User Activity
US10291537B2|2019-05-14|Methods for reducing traffic for a mobile device communicating over multiple channels
US8015249B2|2011-09-06|Mitigating data usage in messaging applications
JP5795349B2|2015-10-14|アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置
KR101828618B1|2018-02-12|미디어 콘텐츠 배송 세션의 과거 네트워크 이용과의 정렬
KR101996263B1|2019-07-04|피어 이벤트 데이터에 기초한 모바일 디바이스의 동적 조정
KR102107478B1|2020-05-07|휴대용 전자장치의 절전모드에서 프로세서 활동의 감시 및 관리 방법과 이를 지원하는 전자장치
US20160100359A1|2016-04-07|Power saving wi-fi tethering
KR101529539B1|2015-06-17|모바일 통신 단말들을 위한 스마트 전력 관리 방법 및 장치
TWI549001B|2016-09-11|基於背景資訊之功率及負載管理
US7467353B2|2008-12-16|Aggregation of multi-modal devices
EP2673992B1|2018-12-05|Method and apparatus of smart power management for mobile communication terminals using power thresholds
TWI462546B|2014-11-21|用以減少資料傳輸負擔之方法及設備
CN102474527B|2013-12-18|基于设备位置和用户交互来适应资源检索的方法和系统
US9940161B1|2018-04-10|Optimizing preemptive operating system with motion sensing
EP2523109A1|2012-11-14|Transferring application state across devices
FI123227B|2012-12-31|Sovellus- ja verkkoperusteinen pitkän pollauspyynnön havaitseminen ja sen välitallennuksen arviointi
同族专利:
公开号 | 公开日
AU2009229136A1|2009-10-01|
WO2009120442A1|2009-10-01|
EP2286315B1|2017-03-22|
EP2286315A4|2012-11-28|
CA2714716A1|2009-10-01|
BRPI0907860A2|2015-07-21|
EP2286315A1|2011-02-23|
KR101475550B1|2014-12-22|
US20090183157A1|2009-07-16|
IL207708A|2016-04-21|
CN101981531A|2011-02-23|
CN101981531B|2013-09-25|
IL207708D0|2010-12-30|
RU2502116C2|2013-12-20|
TW200943047A|2009-10-16|
KR20110018291A|2011-02-23|
RU2010139459A|2012-03-27|
US8230436B2|2012-07-24|
AU2009229136B2|2014-02-06|
TWI488035B|2015-06-11|
JP5281145B2|2013-09-04|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2012-01-18| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120117 |
2012-01-18| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120117 |
2012-12-10| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121207 |
2013-03-08| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130307 |
2013-04-22| TRDD| Decision of grant or rejection written|
2013-04-25| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130424 |
2013-05-30| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130523 |
2013-05-31| R150| Certificate of patent or registration of utility model|Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2015-04-16| S111| Request for change of ownership or part of ownership|Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
2015-04-24| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 |
2016-05-10| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2017-05-09| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-05-31| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]